package iserver

// IMsgHandler 消息处理模块的接口
type IMsgHandler interface {
	//处理消息
	DoMsg()
	//处理Msg消息
	DoNormalMsg(string, interface{}) error
	//处理RPC消息
	DoRPCMsg(string, []byte) error
	// FireMsg 触发消息, 保证不被挂起
	FireMsg(name string, content interface{})
	// FireRPC 触发消息, 保证不被挂起
	FireRPC(methodName string, data []byte)

	// RegMsgProc 注册消息处理对象
	// 其中 proc 是一个对象，包含是类似于 MsgProc_XXXXX的一系列函数，分别用来处理不同的消息
	RegMsgProc(proc interface{})
	//注册出错时的处理函数
	RegOnPanicFunc(func(err error))
	//调用出错处理函数
	OnPanicFunc(err error)
	//获取有消息时的chan
	GetCallChan() chan bool
	// SetMainHander 设置父级消息路由器
	SetMainHander(msghandler IMsgHandler)

	SetEnable(enable bool)
}
